Increasing use of data communications has furthered development of techniques that provide more cost-effective means of utilizing existing channels of communication networks. One such technique is packetization of traffic information and transmission of the packets between end systems in an efficient manner. A packet is typically a group of binary digits, including at least data and control information, that is switched as a whole unit. FIG. 1, numeral 100, illustrates a typical integrated communication network, as is known in the art. Before the flow of packets between end systems begins, a connection or virtual circuit is established between them, determining an end-to-end path with selected nodes and internodal trunk(s) through which the packets will follow. FIG. 1 illustrates a typical integrated communications network having an integrated services digital network (ISDN)(102) that allows packet-switching among a private branch exchange (PBX)(104), a public-switched telephone network/integrated services digital network (PSTN/ISDN)(106) having V0.32 modems (V0.32)(108), a dataphone digital service (DDS)(110), and an ISDN basic rate interface (BRI)(112), an image source (Image)(114), a video source, (Video)(116), two local area networks (LAN)(118A, 118B), and a packet data network (X0.25 PDN)(120). Where desired, a host computer (Host)(122) may be utilized. A network manager (Net Mgr)(124) provides network control along three nodes (126A, 126B, 126C).
Generally integrated packet networks (typically fast packet networks) are utilized to carry at least two classes of traffic. Classes of traffic may include, for example, continuous bit-rate (CBO), speech (Packet Voice), data (Framed Data), image, and so forth. Typical bandwidth characteristics and requirements of selected traffic classes are described below.
CBO: Packets from individualized sources are fairly well-behaved and arrive at internodal queues more or less periodically. The peak rate (R.sub.peak) of multiplexed CBO sources is substantially the same as the average rate (R.sub.ave), and a trunk rate required (R.sub.reqd) is somewhat larger to keep queueing delays small. Since R.sub.peak &lt;R.sub.reqd, no statistical gain is obtained in this case. CBO streams are sensitive to severe fluctuations in queueing delay and to packet losses since both of these cause a loss in synchronization at the receiver. Packets from CBO sources with large packetization times have large delays when multiplexed together, as opposed to packets from sources with small packetization times. When multiplexed together, the delays are dominated by the large packetization time sources.
Packet Voice (with speech activity detection): The rate of multiplexed voice depends on a number of sources simultaneously in talk spurt, and fluctuates between the maximum rate (R.sub.peak) and zero. The average rate (R.sub.ave) is less than half of R.sub.peak for conversational speech. The required rate (R.sub.reqd) can be made to lie between these two rates rather than being made equal to R.sub.peak, making statistical gain (i.e., R.sub.peak /R.sub.reqd) possible. R.sub.reqd is selected to keep maximum delay and a packet loss rate under predetermined limits. A small loss is acceptable, causing only limited degradation in voice quality.
Packets of multiplexed voice with excessive delays, for example, delays of a few hundred milliseconds, are also dropped at a destination based on an end-to-end delay limit, since voice is delay-sensitive. This type of dropping provides a high probability that several packets will be lost consecutively from a same voice call, causing serious degradation of fidelity of the received voice signal.
Framed data: This type of traffic can have large fluctuations in rate and in a difference between R.sub.peak and R.sub.ave. R.sub.reqd is selected to maintain end-to-end average frame delays below a predetermined low level. Loss of a single fast packet results in loss of an entire frame. Thus, it is not desirable to drop packets. However, the bursty nature of data traffic generally results in some degree of packet loss. Further, quality of service (QOS) varies for data traffic from different sources, for example, data file transfers being less delay sensitive than interactive data traffic.
Intermediate nodes typically utilize a switch (201), as illustrated in FIG. 2, numeral 200, wherein fast packets received from an input trunk (202, 204, . . . ) are switched (209, . . . 211) to an output trunk (210, . . . , 212). Packets that come in on an internodal trunk from each connection have a unique packet header field called a Logical Channel Number (LCN)(302), corresponding to a logical channel on that trunk (FIG. 3A, numeral 300). Upon connection of the virtual circuit, a table is updated at each node such that the table contains entries for an output Port number, a Queue ID (QID) of the output queue, and a new LCN. Utilizing the table, the LCN of each incoming packet is translated to a new Port number (306), a QID (308) for an output routing queue, and a new LCN (310) for a next internodal trunk (FIG. 3B, numeral 350). A discard priority (304) typically remains unchanged. Packets from various output queues are transmitted or discarded according to a preselected queueing system.
The simplest technique for queueing packets for transmission on an internodal trunk of a fast packet network is using a first-in-first-out (FIFO) queue. However, utilizing the FIFO queueing technique allows overload periods for digitized speech packets and for framed data packets, providing a greater share of bandwidth to one at the expense of the other, an undesirable result.
Another technique, Head-Of-Line-Priority (HOLP) may give data priority over speech, but does not solve the problem of data and speech queues affecting the quality of service of each other and of continuous bit-rate data fast packets under overload conditions. In HOLP, where speech fast packets are given a high priority, speech fast packets may affect the quality of service of lower priority queues.
Movable boundary schemes for multiplexing speech and data traffic classes of fast packets often have undesirable delay jitter and underutilize bandwidth allocated to queues having no traffic.
Queueing schemes for data only do not focus on problems of integrating other traffic types, such as speech and continuous bit-rate data.
While packet discarding schemes relieve congestion in an integrated speech/data network, important fast packets may be discarded when queues become filled. Also, when queues are full, arriving fast packets may be dropped. There is a need for a method and device that provide multiple levels of congestion thresholds for determining selective packet discarding and that avoid dropping arriving fast packets when a queue is full, alleviating the above problems and providing for queueing at a higher rate to allow a higher speed, more efficient operation of integrated communication networks.